﻿Imports Banco
Public Class frmUsuarioEditar

    Private mMantusuarioBS As BS.Usuarios
    Private mMantusuarioBE As BE.Usuarios
    Private mId As Integer


    Public Property Id() As Integer
        Get
            Return mId
        End Get
        Set(ByVal value As Integer)
            mId = value
        End Set
    End Property

    Private Sub frmUsuarioEditar_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        mMantusuarioBS = New BS.Usuarios
        mMantusuarioBE = mMantusuarioBS.Obtener(Me.Id)

        Me.txtNombre.Text = mMantusuarioBE.NombreCompleto
        Me.txtIdentificacion.Text = mMantusuarioBE.Identificacion
        Me.txtUsuario.Text = mMantusuarioBE.NombreUsuario
        Me.txtContrasena.Text = mMantusuarioBE.contrasena


        If mMantusuarioBE.Perfil = 1 Then
            Me.rbCajero.Checked = True
        End If

        If mMantusuarioBE.Perfil = 2 Then
            Me.rbAdministrador.Checked = True
        End If

        cbEstado.Items.Add("Habilitado")
        cbEstado.Items.Add("Inhabilitado")

    End Sub


    Function DatosValidos() As Boolean
        Dim primerControl As Control = Nothing
        Dim mensajeDeValidacion As String = String.Empty
        Me.txtNombre.Text = Me.txtNombre.Text.Trim

        If Me.txtNombre.Text = String.Empty Then
            mensajeDeValidacion = "Nombre es requerido"
            primerControl = Me.txtNombre
        End If

        If Me.txtIdentificacion.Text = String.Empty Then
            mensajeDeValidacion &= vbCrLf & "Identificacion es requerida"

            If primerControl Is Nothing Then
                primerControl = Me.txtIdentificacion
            End If
        End If

        If Me.txtUsuario.Text = String.Empty Then
            mensajeDeValidacion &= vbCrLf & "Nombre Usuario es requerido"

            If primerControl Is Nothing Then
                primerControl = Me.txtUsuario
            End If
        End If

        If Me.txtContrasena.Text = String.Empty Then
            mensajeDeValidacion &= vbCrLf & "Contraseña es requerido"

            If primerControl Is Nothing Then
                primerControl = Me.txtContrasena
            End If
        End If


        If Not primerControl Is Nothing Then
            MessageBox.Show(mensajeDeValidacion, "Validación", MessageBoxButtons.OK)
            primerControl.Focus()
            Return False

        End If

        Return True
    End Function

    Private Sub bntAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bntAceptar.Click
        Me.mMantusuarioBS = New BS.Usuarios


        If DatosValidos() Then
            If DatosValidos() Then

                mMantusuarioBE.NombreCompleto = txtNombre.Text
                mMantusuarioBE.Identificacion = txtIdentificacion.Text
                mMantusuarioBE.NombreUsuario = txtUsuario.Text
                mMantusuarioBE.contrasena = txtContrasena.Text

                If (rbCajero.Checked) Then
                    mMantusuarioBE.Perfil = 1


                ElseIf (rbAdministrador.Checked) Then
                    mMantusuarioBE.Perfil = 2
                End If



                If (Not mMantusuarioBS.Editar(mMantusuarioBE)) Then
                    MessageBox.Show("Problemas al Editar")
                Else
                    Me.DialogResult = Windows.Forms.DialogResult.OK
                End If
            End If

        End If
    End Sub

    Private Sub bnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnCancelar.Click
        Me.Close()
    End Sub

    Private Sub cbEstado_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbEstado.SelectedIndexChanged
        Select Case cbEstado.SelectedIndex
            Case 0
                mMantusuarioBE.Estado = 1
            Case 1
                mMantusuarioBE.Estado = 2
        End Select
    End Sub
End Class